﻿/*********************************************************************************
 *Author:         OnClick
 *Version:        1.0
 *UnityVersion:   2018.3.1f1
 *Date:           2019-03-24
 *Description:    IFramework
 *History:        2018.11--
*********************************************************************************/
using UnityEngine.SceneManagement;

namespace IFramework
{
	public interface ISceneManager
	{
        int TotalSceneCount { get; }
        int loadedSceneCount { get; }
        Scene CurrentScene { get; }
        void LoadAsyncWithEmpty(string sceneName, LoadSceneMode mode);
        void LoadAsync(string sceneName, LoadSceneMode mode);
        void LoadSync(string sceneName, LoadSceneMode mode);
        void UnLoad(Scene scene);
        void UnLoad(string sceneName);
        Scene[] GetLoadedScenes();
        bool HaveLoad(Scene scene);
        bool HaveLoad(string sceneName);
        bool SetActive(Scene scene);
        bool SetActive(string sceneName);
        Scene GetSceneByName(string name);
        Scene GetSceneByPath(string path);
        Scene GetSceneByIndex(int index);
        void LoadEmptyScene();
        int GetBuildIndexByScenePath(string path);
        string GetScenePathByBuildIndex(int index);
    }
}
